Systems and methods wherein a buyer purchases products in a plurality of product categories

ABSTRACT

In one embodiment, a method includes receiving, by one or more computing systems from a client system of a buyer, a selection of a first product of a plurality of products associated with a merchant to add to a transaction list. The first product may be associated with a first product category. The method includes accessing, by the one or more computing systems in response to the selection, a transaction history of the buyer and determining a suggestion to add a second product of a second product category to the transaction list based on the transaction history of the buyer. The second product category may be associated with a previous product the buyer has purchased. The method includes providing, by the one or more computing systems to the client system, instructions to display the suggestion to add the second product to the transaction list.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application is a continuation under 35 U.S.C. § 120 of U.S.patent application Ser. No. 14/022,594, filed 10 Sep. 2013, which is adivisional application under 35 U.S.C. § 121 of U.S. patent applicationNo. 11/535,322, filed 26 Sep. 2006 and titled “Systems And MethodsWherein A Buyer Purchases Products In a Plurality of ProductCategories,” issued as U.S. Pat. No. 8,560,395, on 15 Oct. 2013 which isa continuation application of U.S. patent application Ser. No.09/609,598, filed 29 Jun. 2000 and titled “Systems And Methods Wherein ABuyer Purchases Products In a Plurality of Product Categories,” issuedas U.S. Pat. No. 7,188,080, on 06 Mar. 2007 which claims the benefit ofU.S. Provisional Patent Application No. 60/203,550 filed May 12, 2000.Each of the above-referenced applications is hereby incorporated byreference herein.

The present application is related to: U.S. patent application Ser. No.09/348,566entitled “Settlement Systems and Methods Wherein a Buyer TakesPossession at a Retailer of a Product Purchased Using a CommunicationNetwork” and filed Jul. 7, 1999, which is a continuation-in-part of U.S.patent application Ser. No. 09/337,906 entitled “Purchasing Systems andMethods Wherein a Buyer Takes Possession at a Retailer of a ProductPurchased Using a Communication Network” and filed Jun. 22, 1999, whichis a continuation-in-part of U.S. patent applications Ser. No.08/889,503 entitled “System and Process for Local Acquisition ofProducts Priced Online” and filed Jul. 8, 1997; U.S. patent applicationSer. No. 09/219,267 entitled “Method and Apparatus for FacilitatingElectronic Commerce Through Providing Cross-Benefits During aTransaction” and filed Dec. 23, 1998; U.S. patent application Ser. No.09/282,747 entitled “Method and Apparatus for Providing Cross-BenefitsBased on a Customer Activity” and filed Mar. 31, 1999; U.S. patentapplication Ser. No. 09/274,281 entitled “Method and Apparatus forProviding Cross-Benefits via a Central Authority” and filed Mar. 22,1999; U.S. patent application Ser. No. 09/322,351 entitled “Method andApparatus for Providing Cross Benefits and Penalties” and filed May 28,1999; U.S. patent application Ser. No. 08/943,483 entitled “System andMethod for Facilitating Acceptance of Conditional Purchase Offers(CPOs)” and filed on Oct. 3, 1997, which is a continuation-in-part ofU.S. patent application Ser. No. 08/923,683 entitled “ConditionalPurchase Offer (CPO) Management System For Packages” and filed Sep. 4,1997, which is a continuation-in-part of U.S. patent application Ser.No. 08/889,319 entitled “Conditional Purchase Offer Management System”and filed Jul. 8, 1997, which is a continuation-in-part of U.S. patentapplication Ser. No. 08/707,660 entitled “Method and Apparatus for aCryptographically Assisted Commercial Network System Designed toFacilitate Buyer-Driven Conditional Purchase Offers” filed on Sep. 4,1996 and issued as U.S. Pat. No. 5,794,207 on Aug. 11, 1998. The entirecontents of these application are incorporated herein by reference.

FIELD

The present invention relates to commerce. In particular, the presentinvention relates to systems and methods wherein a buyer purchasesproducts in a plurality of product categories.

BACKGROUND

Typically, a buyer visits one or more retail stores to shop for aproduct. When the buyer finds the product he or she is looking for, at areasonable price, the buyer purchases the product from the retail store.This traditional method, however, may require that the buyer visit anumber of retail stores to determine a reasonable price for the product.Moreover, a retail store must attract buyers, such as by spending moneyon advertising. For example, when a new retail store opens for business,many buyers will not know what types of products are sold by the retailstore. In addition, the traditional method does not let a party otherthan the retail store, such as a product manufacturer, establish apricing relationship directly with a buyer. For example, a manufacturermay sell a product to a retail store (perhaps through a distributor) whoultimately determines the price at which the product is sold to a buyer.

Recently, products have been sold to buyers via communication networkssuch as the Internet (e.g., via an online Web merchant). Internet saleshave been growing steadily over the past few years, and are expected toincrease, because buyers are attracted to the ease and convenience ofshopping online. For example, a buyer can shop online from the comfortof home and receive information from a number of Web merchants todetermine a reasonable price for a product.

The sale of products from Web merchants to buyers, however, has a numberof disadvantages. For example, in a typical sale via the Internet,traditional retail stores (e.g., retail stores which are not online) aretypically left completely out of the transaction. In addition to losinga potential profit from the sale of the product itself, such retailstores lose the chance to sell additional products to the buyer, such asproduct accessories (e.g., batteries). Moreover, retail stores cannotsell unrelated products that attract the buyer's attention while he orshe is in the store. This may still be a problem even if a retail storehas invested the time and money required to establish an online service.Moreover, a retail store's online service may simply shift sales thatwould have otherwise occurred at the actual store (as opposed toattracting new buyers).

Known methods of selling products also do not account for a buyer whomay be interested in purchasing a certain type of product without beingconcerned about the particular product he or she receives. For example,a buyer may be interested in purchasing a color television with a32-inch screen. The buyer, however, may not be concerned about theparticular model number or brand of television he or she purchases(e.g., which manufacturer produced the television). In this case, amanufacturer may be willing to subsidize the buyer's purchase toencourage the buyer to receive a television from that manufacturer. Sucha subsidy may, for example, gain a new customer for a manufacturer. Notethat if the buyer was only interested in purchasing a television from aspecific manufacturer, the manufacturer may not have been willing tosubsidize his or her purchase (e.g., because the buyer would have stillbought a television from the specific manufacturer without the subsidy).

U.S. patent application Ser. No. 09/337,906 filed Jun. 22, 1999 andentitled “Purchasing Systems and Methods Wherein a Buyer TakesPossession at a Retailer of a Product Purchased Using a CommunicationNetwork” solves many of the problems described above. In one disclosedembodiment, a purchasing system evaluates a buyer offer, including anoffer price and a product category. If the buyer offer is acceptable,the purchasing system selects a particular product within the productcategory and arranges for a buyer to take possession of the product froma merchant. The buyer provides a payment to the purchasing system inexchange for the right to take possession of the product from themerchant. Such an embodiment may enable a buyer to receive a productmore quickly as compared to having the product delivered to his or herhome. According to one embodiment, a subsidy from a third party (e.g., aproduct manufacturer) may be applied to a buyer's purchase of theproduct.

In many of the methods described above, however, a buyer may not be ableto take advantage of a subsidy across transactions and/or across productcategories. For example, consider a subsidy that enables a buyer topurchase a first product at a reduced price. In a separate transaction,however, no subsidy is available and the buyer is not able to purchase asecond product at a reduced price. That may be the case even if theamount of the subsidy was large enough to have allowed both products tobe profitably sold to the buyer at reduced prices.

Another disadvantage is that it may be inconvenient for a buyer toprovide information associated with a large number of products he or shewants to purchase. For example, a buyer may purchase a large number ofgrocery items each month, and it may be time consuming for the buyer toindicate all of these grocery items every month. This may beparticularly true if, for example, the buyer supplies additionalinformation about each grocery item. For example, it may be especiallyinconvenient for a buyer to indicate a grocery item category, a list ofparticular grocery item brands, and an offer price for each of a largenumber of grocery items.

A need exists, therefore, for further systems and methods that may beused when a buyer purchases products in a plurality of productcategories.

SUMMARY

To alleviate these and other problems, the present invention introducessystems and methods wherein a buyer purchases products in a plurality ofproduct categories.

According to one embodiment of the present invention, an indication of aplurality of product categories is received, each product category beingassociated with a plurality of products. Buyer offer information,including an indication of an offer amount associated with the pluralityof product categories, is also received. A subset of the plurality ofproducts is selected for each of the product categories, and anindication of the selected products is provided.

According to another embodiment, a payment identifier is received from abuyer. An indication of a first product category, associated with afirst set of products, and a second product category, associated with asecond set of products, is also received from the buyer. A binding buyeroffer, including an indication of an offer amount associated with thefirst set of products and the second set of products, is also received.A first product is selected from the first set of products, and a secondproduct is selected from the second set of products, at least one of thefirst product and the second product being selected based on anassociated subsidy. The buyer offer is evaluated based on the offeramount. If the buyer offer is accepted, it is arranged for the buyer toprovide payment of an amount based on the offer amount using the paymentidentifier, an indication of the first product and the second product isprovided to the buyer, and information is transmitted enabling the buyerto take possession of the first product and the second product at amerchant.

According to another embodiment, an indication of a plurality of productcategories is received, each product category being associated with aplurality of products. Buyer offer information is also received,including an indication of an offer amount associated with the pluralityof product categories. A subset of the plurality of products for each ofthe product categories is selected, and the buyer offer information isevaluated based on the offer amount.

According to another embodiment, an indication of a plurality of productcategories is received, each product category being associated with aplurality of products. A subset of the plurality of products is selectedfor each of the product categories, and offer information is provided,including an indication of an offer amount associated with the pluralityof product categories. An indication of the selected products may thenbe provided.

According to another embodiment, an indication of a plurality of productcategories is provided, each product category being associated with aplurality of products. Buyer offer information is also provided,including an indication of an offer amount associated with the pluralityof product categories. An indication of selected products may then bereceived.

One embodiment of the present invention comprises: means for receivingan indication of a plurality of product categories, each productcategory being associated with a plurality of products; means forreceiving buyer offer information, including an indication of an offeramount associated with the plurality of product categories; means forselecting a subset of the plurality of products for each of the productcategories; and means for providing an indication of the selectedproducts.

Another embodiment comprises: means for receiving from a buyer a paymentidentifier; means for receiving from the buyer an indication of a firstproduct category associated with a first set of products; means forreceiving from the buyer an indication of a second product categoryassociated with a second set of products; means for receiving from thebuyer a binding buyer offer, including an indication of an offer amountassociated with the first set of products and the second set ofproducts; means for selecting a first product from the first set ofproducts; means for selecting a second product from the second set ofproducts, wherein at least one of the first product and the secondproduct are selected based on an associated subsidy; means forevaluating the buyer offer based on the offer amount; means forarranging for the buyer to provide payment of an amount based on theoffer amount using the payment identifier; means for providing to thebuyer an indication of the first product and the second product; andmeans for transmitting information enabling the buyer to take possessionof the first product and the second product at a merchant.

Another embodiment comprises: means for receiving an indication of aplurality of product categories, each product category being associatedwith a plurality of products; means for receiving buyer offerinformation, including an indication of an offer amount associated withthe plurality of product categories; means for selecting a subset of theplurality of products for each of the product categories; and means forevaluating the buyer offer information based on the offer amount.

Another embodiment comprises: means for receiving an indication of aplurality of product categories, each product category being associatedwith a plurality of products; means for selecting a subset of theplurality of products for each of the product categories; means forproviding offer information, including an indication of an offer amountassociated with the plurality of product categories; and means forproviding an indication of the selected products.

Another embodiment comprises: means for providing an indication of aplurality of product categories, each product category being associatedwith a plurality of products; means for providing buyer offerinformation, including an indication of an offer amount associated withthe plurality of product categories; and means for receiving anindication of selected products.

With these and other advantages and features of the invention that willbecome hereinafter apparent, the nature of the invention may be moreclearly understood by reference to the following detailed description ofthe invention, the appended claims, and the several drawings attachedherein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a flow chart of a method according to an embodiment of thepresent invention.

FIG. 1B is a block diagram overview of a transaction system according toan embodiment of the present invention.

FIG. 2 is a block diagram of a controller according to an embodiment ofthe present invention.

FIG. 3 is a tabular representation of a portion of a product categorydatabase according to an embodiment of the present invention.

FIG. 4 is a tabular representation of a portion of a product databaseaccording to an embodiment of the present invention.

FIG. 5 is a tabular representation of a portion of a subsidy databaseaccording to an embodiment of the present invention.

FIG. 6 is a tabular representation of a portion of a buyer databaseaccording to an embodiment of the present invention.

FIG. 7 is a tabular representation of a record of a shopping listdatabase according to an embodiment of the present invention.

FIG. 8 is a tabular representation of a record of a product listcalculation database according to an embodiment of the presentinvention.

FIG. 9 is a tabular representation of a record of a product listcomparison database according to an embodiment of the present invention.

FIGS. 10A through 10C are a flow chart of a transaction method accordingto another embodiment of the present invention.

DETAILED DESCRIPTION

The present invention is directed to systems and methods wherein a buyerpurchases products in a plurality of product categories. As used herein,the term “product” refers to anything that may be purchased by a buyer(e.g., a good, a service, or any interest in a good or a service).Examples of a product include a grocery item, a book, a consumerelectronics device, an oil change for an automobile, a software programor information file (e.g., an MP3 audio file), and a movie or airlineticket. The phrase “product category” refers to any set that includesone or more particular products. By way of example, a product categoryof “Travel Books—Mexico City” may include three different travel booksabout Mexico City, each written by a different author. A productcategory may be narrow (e.g., “pretzel sticks”) or broad (e.g., “snackfoods”).

Turning now in detail to the drawings, FIG. 1A is a flow chart of amethod according to an embodiment of the present invention. At 10, anindication of a number of product categories is received. For example,an indication of “pasta sauce (16-ounce jar)” and “tuna fish (6 ouncecan)” may be received from a buyer via a communication network. In thiscase, the product category of “pasta sauce (16-ounce jar)” may beassociated with, for example, multiple brands of pasta sauce. Accordingto another embodiment, an indication of a product category may insteadcomprise an actual list of particular products.

The indication of the number of product categories (e.g., pasta sauceand tuna fish) may be thought of as the buyer's “shopping list”indicating the types of products he or she is interested in purchasing.

According to one embodiment, a shopping list may be stored for a buyerfor use in a number of different transactions. For example, a buyer mayregister with a transaction system and provide a shopping listindicating the product categories he or she typically purchases everymonth. The transaction system may store the shopping list in a database,and retrieve the information whenever the buyer accesses the transactionsystem. In this case, the buyer may modify the retrieved shopping listas appropriate (e.g., by adding and/or deleting product categories).

According to another embodiment, the transaction system may suggestmodifications to the shopping list. For example, the transaction systemmay track the buyer's purchases and determine that he or she purchases aone pound bag of sugar once every three months. The transaction systemmay then add a “one pound bag of sugar” product category to the buyer'sshopping list (if it was not already included on his or her list) orarrange for the product category to only be included every third month.

At 12, buyer offer information, including an indication of an offeramount associated with the plurality of product categories, is received.For example, a buyer may indicate that he or she is willing to pay$50.00 to receive products from each product category included on his orher shopping list. Note that, as used herein, the term “offer” is notlimited to the legal definition of an offer (e.g., a contract may not beformed if the offer is accepted). That is, the controller 200 may simplydisplay a list of selected products to a buyer based on a shopping listand ask the buyer if he or she would like to complete the transaction.According to another embodiment, however, the buyer offer informationcomprises a binding offer. That is, the buyer will be obligated topurchase his or her products if the transaction system accepts the offer(e.g., his or her credit card may be charged even before the selectedproducts are displayed to the buyer).

According to one embodiment, the offer amount is defined by the buyer.In this case, the buyer determines how much he or she is willing to payto receive products from each product category. The buyer may alsoselect an offer amount from a list of suggested offer amounts generatedby the transaction system.

According to another embodiment, the transaction system calculates anoffer amount which may then be accepted by the buyer.

The buyer may provide a single offer amount with respect to all of theproduct categories. According to another embodiment, the buyer insteadprovides a separate offer amount with respect to each product category.In this case, the transaction system may calculate a total offer amountby adding up each of the separate offer amounts provided by the buyer.

At 14, a subset of the plurality of products for each of the productcategories is selected by the transaction system. That is, thetransaction system may select one or more of the products associatedwith each product category. For example, the transaction system mayselect a particular brand of pasta sauce for the “pasta sauce (16-ouncejar)” product category indicated by the buyer.

A product may be selected, for example, based on (i.e., based at leastin part on) a transaction history associated with the buyer, an addressassociated with the buyer, demographic information associated with thebuyer, psychographic information associated with the buyer (e.g.,information about the buyer's opinions and values), a credit ratingassociated with the buyer, and/or another offer associated with thebuyer. By way of example, the transaction system may select one productfor buyers who live in New York and another product for buyers who livein California.

The transaction system may also select a product based on the buyer'soffer amount. For example, a buyer who offers to pay a high price for atelevision may receive a television produced by a well-knownmanufacturer, while a buyer who offers to pay a lower price may receivea television produced by a lesser-known manufacturer.

According to one embodiment of the present invention, the transactionsystem selects a product based on one or more subsidies. As used herein,a “subsidy” refers to any benefit that may be applied to a transaction.For example, a manufacturer may offer to provide a subsidy each time aparticular product is selected by the transaction system. A manufacturermay also, for example, offer to provide a payment when a predeterminednumber of products have been sold via the transaction system, or when aproduct has been selected for a predetermined percentage of buyers.According to another embodiment, a merchant (e.g., a retail store), thecontroller, and/or another party may provide a subsidy. As will bedescribed, the transaction system may track various subsidies, such asto increase an amount of profit associated with one or moretransactions.

A subsidy may be provided, for example, based on a product identifier, aproduct category, a product manufacturer, a product brand, a productdescription, a product quantity (e.g., a subsidy may be provided whenthe buyer purchases a predetermined number of products in a productcategory), a product class (e.g., a higher or lower quality product), atleast one product feature (e.g., a subsidy may be provided when a buyerpurchases a television with picture-in-picture capability), an accessoryassociated with the product, an age associated with the product, aproduct condition, a product preference (e.g., the buyer prefers that avideo camera use VHS-C type video tapes), an offer period (e.g., a buyeroffer period or a subsidy offer period), a product cost, a productretail price, the offer amount, delivery information, and/or paymentinformation.

At 16, an indication of the selected products is provided. For example,the transaction system may display a list of selected products to abuyer via a Web site. According to another embodiment, the indication ofthe selected products may be provided to a merchant. For example, thetransaction system may transmit an electronic mail message to a retailstore indicating the buyer's name and a list of selected products. Inthis case, the selected products may be gathered and provided to thebuyer when he or she visits the retail store.

According to one embodiment, the transaction system evaluates thebuyer's offer to determine if the offer will be accepted. For example,the transaction system may compare the buyer's offer amount with a totalproduct cost associated with the list of selected products. Theevaluation of the buyer's offer amount may also be based on one or moresubsidies, such as those described above with respect to productselection.

If the buyer's offer is accepted, the transaction system may arrange forthe buyer to provide payment of an amount based on the offer amount inexchange for the selected products. The transaction system may alsotransmit information enabling the buyer to take possession of theselected products at a merchant. For example, the transaction system maytransmit a transaction code to the buyer. The buyer can then provide thetransaction code to the merchant when he or she takes possession of theselected products. The transaction system may instead transmitinformation to the merchant (e.g., via a payment processing device)enabling the buyer to take possession of the selected products.According to another embodiment, the transaction system instead arrangesfor the selected products to be delivered to the buyer.

Transaction System

FIG. 1B is a block diagram overview of a transaction system 100according to one embodiment of the present invention. The transactionsystem 100 includes a controller 200 in communication with a number ofbuyer devices 20. As used herein, a device (including the controller200, the buyer devices 20, merchant devices 30, a subsidy providerdevice 40, and/or a payment processing device 50) may communicate, forexample, through a communication network such as a Local Area Network(LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), aPublic Switched Telephone Network (PSTN), a proprietary network, aWireless Access Protocol (WA?) network, or an Internet Protocol (IP)network such as the Internet, an intranet or an extranet. Moreover, asused herein, a communication network includes those enabled by wired orwireless technology.

In one embodiment of the present invention, the buyer devices 20communicate with a remote Web-based controller 200 (e.g., a server) viathe Internet. Although embodiments of the present invention will bedescribed with respect to information exchanged using a Web site,according to other embodiments information can be exchanged using, forexample, a wired or wireless telephone, an Interactive Voice ResponseUnit (IVRU), a facsimile machine, postal mail, electronic mail, a webinterface, a cable network interface, and/or a wireless device.

A buyer device 20 and/or a merchant device 30 may be, for example, aPersonal Computer (PC), a portable computing device such as a PersonalDigital Assistant (PDA), a wired or wireless telephone, a one-way ortwo-way pager, a kiosk, a Point of Sale (POS) terminal, a CreditAuthorization Terminal (CAT) device, an Automated Teller Machine (ATM)device, a shopping cart device, a smart or magnetic stripe card, and/orany other appropriate communication or storage device. Note that thesedevices 20, 30 may include a number of different types of devices (e.g.,some buyers may use PCs while others use telephones).

The controller 200 may be any device capable of performing the functionsdescribed herein. One embodiment of the controller 200 is described indetail with respect to FIG. 2. Note that any of the buyer device 20, themerchant device 30, and/or the controller 200 may be incorporated in asingle device. For example, a kiosk located in a merchant's store mayoperate as both a buyer device 20 and a controller 200.

As will be explained, the transaction system 100 may be used tofacilitate a transaction in which a buyer purchases products in aplurality of product categories. According to one embodiment of thepresent invention, the controller 200 receives a shopping list (e.g., alist of product categories). Note that the shopping list may includeboth particular brands of products and product categories (e.g., a buyermay accept any brand of toothpaste but only a specific brand of pastasauce).

The controller 200 may, for example, retrieve the shopping list from adatabase stored at the controller 200. According to another embodiment,the shopping list is stored at the buyer device 20, such as by storingthe shopping list as a “cookie.” A cookie is a block of data that a Webserver (e.g., the controller 200) stores on a client system (e.g., thebuyer device 20). When a buyer returns to the same Web site, or anassociated Web site, the browser of the buyer device 20 sends a copy ofthe cookie back to the Web server. Cookies may be used to identifybuyers associated with the buyer device 20, to instruct the Web serverto send a customized version of a Web page, and for other purposes.

The controller 200 may also receive an indication of an offer amountassociated with the shopping list. For example, a buyer may use a buyerdevice 20 to indicate that he or she is willing to pay no more than$50.00 to purchase products indicated by a shopping list.

According to an embodiment of the present invention, the controller 200selects a particular brand of product for each product category on thebuyer's shopping list and evaluates the buyer's offer. The controller200 may, for example, communicate with merchant devices 30 to determinea minimum acceptable price associated with various products (e.g., basedon current retail prices). The controller 200 may also communicate witha subsidy provider device 40 to determine which subsidies can be appliedto the transaction. Note that these determinations may be performedprior to, or in response to, the buyer's offer.

If the buyer's offer is acceptable, the controller 200 may communicatewith a payment processing device 50 to arrange for the buyer to providepayment of the offer amount. The controller 200 may also transmit a listof the selected brands to the buyer device 20. According to oneembodiment, the controller 200 transmits this list to the buyer via thesame communication network the buyer used to indicate his or her offerprice. According to another embodiment, different communication networksare used for this purpose.

According to one embodiment, the buyer then takes possession of theselected products at a merchant (e.g., by visiting a local retailstore). According to another embodiment, the selected products areinstead delivered to the buyer's home.

In addition to communicating with the controller 200, a buyer device 20may communicate directly with, for example, the merchant device 30 orthe subsidy provider device 40 (shown by dashed lines in FIG. 1B). Forexample, a buyer may visit a Web site associated with a subsidy providerto earn subsidies or transmit a transaction code directly to amerchant's POS terminal.

EXAMPLES

Alice uses her PC to register with a Web site associated with thetransaction system 100 by providing her name, address, and credit cardnumber. Alice then transmits the following shopping list to thetransaction system 100:

1 jar of ground coffee (12 ounces);

3 yogurt cups (8 ounces each);

1 loaf of bread (20 ounces);

1 bag dry dog food (4 pounds); and

1 package of chewing gum of a specified brand.

By transmitting this shopping list, Alice is indicating that she iswilling to purchase any brand of coffee, any brand of yogurt, any brandof bread, and any brand of dog food. She is also indicating that shewill only purchase chewing gum of the specified brand. Alice alsotransmits an offer amount of $15.00 for her shopping list (i.e., theprice that she will pay for products selected from each product categoryon her shopping list). Note that the offer amount determined by Alicemay not be based on retail prices associated with the product categoriesin her shopping list. According to another embodiment, she may insteadsubmit an offer amount based on the retail prices (e.g., by offering topay 80% of the retail prices).

The transaction system 100 accepts Alice's offer and arranges for her topay $15.00 using the credit card number she provided duringregistration. The transaction system 100 then transmits the followingshopping list to Alice's PC:

1 jar of a particular brand of ground coffee (12 ounces);

2 yogurt cups from one brand and 1 yogurt cup from another brand (8ounces each);

1 loaf of bread from a particular brand (20 ounces);

1 bag of a particular brand of dry dog food (4 pounds); and

1 package of the specific brand of chewing gum.

The transaction 100 system also transmits information enabling Alice totake possession of these items from a merchant.

In another example, Bob visits his local supermarket and accesses thetransaction system 100 using his PDA. Because Bob had previouslyregistered with the transaction system 100, he supplies a user name andpassword and indicates that he is interested in paying $5.00 to purchasethe following items:

1jar of ground coffee (12 ounces); and

3 yogurt cups (8 ounces each).

The transaction system 100 determines that a specific manufacturer hasagreed to pay $10,000.00 if coffee of the specific manufacturer isselected for 80% of the male buyers who purchase coffee via thetransaction system 100 during the current month. Because the specificmanufacturer's coffee has been selected for only 75% of the male buyersso far this month, the transaction system 100 selects that specificmanufacturer's coffee for Bob. Without this subsidy, another brand ofcoffee would have been selected because it would otherwise result in ahigher profit for the transaction system 100.

The transaction system 100 also selects three yogurt cups of aparticular brand, accepts Bob's offer, and arranges for him to pay $5.00via his credit card. The transaction system 100 transmits a transactioncode to Bob's PDA and to a merchant device 30. Bob then provides thetransaction code to the supermarket's POS terminal via his PDA. The POSterminal verifies the transaction code by communicating with themerchant device 30, and Bob is allowed to take the coffee and yogurtfrom the supermarket.

In another example, Carol calls a toll-free telephone number and speakswith a telephone call center operator associated with the transactionsystem 100. She indicates that she is interested in purchasing productsin the following categories for $300:

a round trip plane ticket from New York to Boston (leaving during themorning of March 17th, coming back during the afternoon of March 18th);

a one-night stay at any hotel in Boston (on the night of March 17th);and

a two-day rental of any full-sized car (from March 17th to March 18th,inclusive).

In this case, Carol's offer to purchase the plane ticket, hotel room,and car rental is a binding offer which is secured by her credit cardaccount. That is, she will be obligated to purchase products from theseproduct categories if the transaction system 100 accepts her offer. Acontroller 200 communicates with at least one merchant device 30 (e.g.,a rental car company server) to determine what products are available.In addition, the controller 200 communicates with at least one subsidyprovider device 40 (e.g., an airline company server) to determine if anysubsidies are available for her shopping list.

Based on this information, the transaction system 100 determines aproduct list for Carol as follows:

a round trip ticket on a particular airline;

a one-night stay at a particular hotel chain; and

a two-day rental of a car from a car rental agency.

The transaction system indicates this product list to Carol and billsthe offer price (i.e., $300) to her credit card account. In addition,the transaction system 100 arranges for the particular airline, theparticular hotel chain, and the car rental agency to receive payment forthese products.

In another example, Dan submits an offer to purchase products from thefollowing shopping list for an offer price of $12:

2 cans baked beans; an

3 boxes grain/fiber cereal.

In addition, Dan supplies a buyer identifier (e.g., his phone number)and a retailer where he would like to purchase these products. Thetransaction system 100 selects the following products:

2 cans of baked beans; and

3 boxes of cereal.

Dan purchases these products at a particular store, and a merchantdevice 30 transmits information about the purchase (e.g., a list ofproduct identifiers and a transaction total) to transaction system 100.Based on this information, transaction system 100 mails a rebate to Danfor a value equal to the difference between $12 and the transactiontotal indicated by the particular store's merchant device 30.

In another example, Emily accesses a Web site associated with thetransaction system 100 and offers to purchase the following shoppinglist for an offer price of $10:

a book from the current bestseller list;

a dance party CD featuring hip-hop music; and

a map of the New York City area.

In addition, she submits a buyer identifier (e.g., her home address).The transaction system 100 selects the following products:

The Brethren by John Grisham;

MTV Hip-Hop 2000; and

a map of the New York City area.

The transaction system 100 displays this product list to Emily andprompts her to submit a credit card number to complete the purchase. Shesubmits her credit card number, and the products are mailed to her homeaddress.

Controller

FIG. 2 illustrates a controller 200 that is descriptive of the deviceshown in FIG. 1B according to one embodiment of the present invention.Note that the controller 200 may comprise a single computer, a network,or any other device capable of performing the functions describedherein. The controller 200 comprises a processor 210 coupled to acommunication device 220 configured to communicate through acommunication network (not shown in FIG. 2). The communication device220 may be used to communicate, for example, with one or more buyerdevices 20, merchant devices 30, subsidy provider devices 40, and/orpayment processing devices 50.

The processor 210 is also in communication with a storage device 230.The storage device 230 may comprise any appropriate storage device,including combinations of magnetic storage devices (e.g., magnetic tapeand hard disk drives), optical storage devices and semiconductor memorydevices, such as Random Access Memory (RAM) devices and Read Only Memory(ROM) devices.

The storage device 230 stores a program 215 for controlling theprocessor 210. The processor 210 performs instructions of the program215, and thereby operates in accordance with the present invention. Forexample, the processor 210 may receive an indication of a plurality ofproduct categories, each product category being associated with aplurality of products. The processor 210 may also receive buyer offerinformation, including an indication of an offer amount associated withthe plurality of product categories. The processor 210 may select asubset of the plurality of products for each of the product categories,and provide an indication of the selected products.

According to another embodiment, the processor 210 receives a paymentidentifier from the buyer (e.g., via the communication device 220). Theprocessor 210 also receives an indication of a first product category,associated with a first set of products, and a second product category,associated with a second set of products, from the buyer. The processor210 receives a binding buyer offer, including an indication of an offeramount associated with the first set of products and the second set ofproducts, from the buyer.

Based on at least one associated subsidy, the processor 210 selects afirst product from the first set of products and a second product fromthe second set of products, and evaluates the buyer offer based on theoffer amount.

If the buyer offer is acceptable, the processor 210 arranges for thebuyer to provide payment of an amount based on the offer amount usingthe received payment identifier, and provides an indication of the firstproduct and the second product to the buyer. The processor 210 alsotransmits information that enables the buyer to take possession of thefirst product and the second product at a merchant.

The program 215 may be stored in a compressed, uncompiled and/orencrypted format. The program 215 furthermore includes program elementsthat may be necessary, such as an operating system, a databasemanagement system, and “device drivers” used by the processor 210 tointerface with peripheral devices. Appropriate program elements areknown to those skilled in the art.

Note that the processor 210 and the storage device 230 may be, forexample, located entirely within a single computer or other computingdevice or located in separate devices coupled through a communicationchannel. In one embodiment, the controller 200 comprises one or morecomputers that are connected to a remote database server.

As used herein, information may be “received” by or “transmitted” to,for example, (i) the controller 200 from a buyer device 20, a merchantdevice 30, a subsidy provider device 40, or a payment processing device50, or (ii) a software application or module within the controller 200from another software application, module or any other source.

As shown in FIG. 2, the storage device 230 also stores a productcategory database 300 (described with respect to FIG. 3), a productdatabase 400 (described with respect to FIG. 4), a subsidy database 500(described with respect to FIG. 5), a buyer database 600 (described withrespect to FIG. 6), a shopping list database 700 (described with respectto FIG. 7), a product list calculation database 800 (described withrespect to FIG. 8), and a product list comparison database 900(described with respect to FIG. 9).

Examples of databases that may be used in connection with thetransaction system 100 will now be described in detail with respect toFIGS. 3 through 9. Each figure depicts a database in which the data isorganized according to a data structure in accordance with embodimentsof the present invention. The data may be stored, for example, on acomputer readable medium and be accessible by a program executed on adata processing system. The schematic illustrations and accompanyingdescriptions of the databases presented herein are exemplary, and anynumber of other database arrangements could be employed besides thosesuggested by the figures.

Product Category Database

Referring to FIG. 3, a table represents one embodiment of the productcategory database 300 that may be stored at the controller 200 shown inFIG. 1B according to an embodiment of the present invention. The tableincludes entries identifying product categories that may be indicatedvia the transaction system 100. The table also defines fields 302, 304,306 for each of the entries. The fields specify a product categoryidentifier 302, a product category description 304, and the product orproducts in the category 306.

The product category identifier 302 may be, for example, an alphanumericcode associated with a product category that may be indicated via thetransaction system 100. The product category database 300 also storesthe product category description 304 that describes the product orproducts that are associated with the product category identifier 302.The product category description 304 may be, for example, any text,image, and/or audio information that describes the product or productsin the category.

For each product category, the product category database 300 also storesone or more identifiers associated with the products in the category306. For example, as shown by the first entry in FIG. 3, the productcategory identifier 302 of “PC-123-9234” is associated with threeproducts in the category 306 (e.g., three different identifiersassociated with three different products). The products in the category306 may be created and updated by an operator associated with thecontroller 200. According to another embodiment, information receivedfrom a manufacturer or a merchant (e.g., inventory information receivedfrom a merchant device 30), may be used to update the products in thecategory 306.

Product Database

Referring to FIG. 4, a table represents one embodiment of the productdatabase 400 that may be stored at the controller 200 shown in FIG. 1Baccording to an embodiment of the present invention. The table includesentries identifying products that may be purchased via the transactionsystem 100. The table also defines fields 402, 404, 406 for each of theentries. The fields specify a product identifier 402, a productdescription 404, and a brand 406.

The product identifier 402 may be, for example, an alphanumeric codeassociated with a product that may be purchased via the transactionsystem 100. The product identifier 402 may be based on, or associatedwith, the products in the category 306 stored in the product categorydatabase 300.

The product database 400 also stores the product description 404 thatdescribes the category of the product associated with the productidentifier 402. The product description 404 may be, for example, anytext, image, and/or audio information that describes the product and maybe based on, or associated with, the product category description 304stored in the product category database 300.

The product database 400 also stores a specific product brand 406associated with each product. The brand 406 may indicate, for example, amanufacturer of the product associated with the product identifier 402.In the case of a service, the brand 406 may indicate a party thatprovides the service associated with the product identifier 402.

Subsidy Database

Referring to FIG. 5, a table represents one embodiment of the subsidydatabase 500 that may be stored at the controller 200 shown in FIG. 1Baccording to an embodiment of the present invention. The table includesentries identifying subsidies that may be applied via the transactionsystem 100. The table also defines fields 502, 504, 506, 508 for each ofthe entries. The fields specify a subsidy identifier 502, a subsidyprovider 504, a subsidy amount 506, and a subsidy rule 508.

The subsidy identifier 502 may be, for example, an alphanumeric codeassociated with a subsidy that may be applied via the transaction system100. For each subsidy, the subsidy database 500 also stores the subsidyprovider 504 indicating the party who supplies the subsidy. Note that asubsidy may be provided, for example, by a manufacturer of a product. Asubsidy may also be provided, for example, by the controller 200. Forexample, the controller 200 may provide a subsidy to buyers who haverecently registered with the transaction system 100. The controller 200may instead provide a subsidy to buyers who frequently use thetransaction system 100. Also note that a subsidy may be provided byanother party. For example, a third party may provide a subsidy if abuyer agrees to perform a task. Some examples of third party subsidiesare described, for example, in U.S. patent application Serial No.09/219,267 entitled “Method and Apparatus for Facilitating ElectronicCommerce Through Providing Cross-Benefits During a Transaction.”

For each subsidy, the subsidy database 500 also stores the subsidyamount 506 indicating the benefit associated with the subsidy and asubsidy rule 508 indicating when the subsidy amount 506 is to beapplied. For example, a subsidy may comprise a predetermined monetaryamount to be applied to a single transaction. A subsidy may insteadcomprise a monetary amount to be applied as a result of a number oftransactions. For example, the subsidy may comprise a predeterminedmonetary amount to be applied when one hundred product have been sold.The subsidy may instead be based on a formula that indicates a monetaryamount based on a number of products that have been sold. According toone embodiment, a subsidy may be in the form of non-monetaryconsideration (e.g., advertising).

Buyer Database

Referring to FIG. 6, a table represents one embodiment of the buyerdatabase 600 that may be stored at the controller 200 shown in FIG. 1Baccording to an embodiment of the present invention. The table includesentries identifying buyers who may purchase products via the transactionsystem 100. The table also defines fields 602, 604 for each of theentries. The fields specify a buyer identifier 602 and a paymentidentifier 604.

The buyer identifier 602 may be, for example, an alphanumeric codeassociated with a buyer who may purchase products via the transactionsystem 100. The buyer identifier 602 may be, for example, generated bythe controller 200 when a buyer registers to use the controller 200 ormay be created by the buyer (e.g., when the buyer creates a user nameand password). According to other embodiments, the buyer identifier 302may comprise, for example, a name, a mailing address, an electronic mailaddress, a frequent shopper number, an IP address, and/or a wirelesstelephone number.

For each buyer, the buyer database 600 also stores the paymentidentifier 604 associated with the buyer. The payment identifier 604 maybe, for example, a credit card number, a debit card number, a checkingaccount number, or digital payment protocol information that can be usedto receive payment from the buyer (e.g., to receive payment of an offeramount in exchange for products). The payment identifier 604 may bebased on, for example, information received from the buyer device 20when the buyer registers to use the controller 200 or when the buyersubmits offer information. Note that in some cases, the paymentidentifier 604 may also serve as the buyer identifier 602.

Shopping List Database

Referring to FIG. 7, a table represents a record in the shopping listdatabase 700 that may be stored at the controller 200 shown in FIG. 113according to an embodiment of the present invention. The recordrepresents a shopping list (e.g., a plurality of product categories)associated with a buyer. Each record defines fields 702, 704, 706 foreach of the entries. The fields specify a buyer identifier 702, an offerprice 704, and a shopping list 716.

The buyer identifier 702 may be, for example, an alphanumeric codeassociated with a buyer who may purchase products via the transactionsystem 100. The buyer identifier 702 may be based on, or associatedwith, the buyer identifier 602 stored in the buyer database 600. Theoffer price 704 indicates the amount the buyer is willing to pay inexchange for products in his or her shopping list 706. The shopping list706 represents a series of product categories, and may be based on, orassociated with, for example, the product category identifier 302 andthe product category description 304 stored in the product categorydatabase 300. As shown by the record illustrated in FIG. 7, the buyerassociated with buyer identifier 712 “B-12-12-123434” has offered to pay$9.00 to purchase products in five categories.

Product List Calculation Database

Referring to FIG. 8, a table represents one record of the product listcalculation database 800 that may be stored at the controller 200 shownin FIG. 1B according to an embodiment of the present invention. Notethat a number of such records may be stored in the product listcalculation database 800, each record representing a different potentialproduct list. Moreover, potential product lists may be stored withrespect to a number of different buyers.

The record includes entries identifying calculations associated with apotential product list. The record also defines fields 802, 804, 806,808, 810 for each of the entries. The fields specify a product categoryidentifier 802, a first potential product 804, a subsidy payment perproduct 806, a cost per product 808, and a break-even price per product810. In particular, the record shown in FIG. 8 is associated with afirst potential product list generated based on the shopping listillustrated in FIG. 7. The information in the product list calculationdatabase 800 may be created, for example, in response to a shopping listreceived from a buyer.

The product category identifier 802 may be, for example, an alphanumericcode associated with each product category indicated in a buyer'sshopping list. That is, the five entries illustrated in FIG. 8 areassociated with five product categories that comprise a buyer's shoppinglist. The product category identifier 802 may be based on, or associatedwith, the product category identifier 302 stored in the product categorydatabase and/or the shopping list 716 stored in the shopping listdatabase 700.

For each product category in a shopping list, the product listcalculation database 800 also stores a first potential product 804 thatmay be selected for a buyer. The first potential product 804 mayinclude, for example, the product identifier 402, the productdescription 404, and the product brand 406 based on information storedin the product database 400. The first potential product 804 may beselected, for example, based on the products in the category 306 storedin association with the product category identifier 302 in the productcategory database 300.

The product list calculation database 800 also stores informationassociated with the first potential product 804. In particular, theproduct list calculation database 800 stores the subsidy payments perproduct 806 that may be applied to a transaction and the cost perproduct 808. Note that the subsidy payments per product 806 may bedetermined based on information stored in the subsidy database 500(e.g., the first entry in the subsidy database 500 indicates that asubsidy amount 506 of $2.00 can be applied to a transaction when aspecific brand of pasta sauce is selected according to the subsidy rule508).

The cost per product 808 may represent, for example, an amount thecontroller 200 must provide to a merchant in exchange for providing aproduct to a buyer. The cost per product 808 may be based on, forexample, a retail price associated with a product.

The break-even price per product 810 represents the cost per product 808less the subsidy payments per product 806. For example, as shown by thefirst entry in FIG. 8, the controller 200 must provide a payment of$3.50 to a merchant in exchange for providing the specific brand ofpasta sauce to a buyer (e.g., based on the cost per product 808).Moreover, the controller 200 can receive a $2.00 subsidy each time thespecific brand of pasta sauce is selected for a buyer (e.g., based onthe subsidy payments per product 806). In this case, the controller 200will break even (e.g., will not make a profit nor suffer a loss) if abuyer pays $1.50 for pasta sauce ($3.50−$2.00=$1.50).

The product list calculation database 800 stores the per product totals818 indicating the subsidy payments 814 that will be received on aproduct-by-product basis for the entire first potential product list(e.g., the entire record). The product list calculation database 800also stores other 820 subsidy payments 814 that may be applied to thetransaction (e.g., subsidies that are provided for a number oftransactions instead of on a product-by-product basis). The sum of theper product totals 818 and the other 820 subsidy payments 814 is storedas the total for the first potential product list 822.

The product list calculation database 800 stores the per product totals818 indicating the costs 816 on a product-by-product basis for theentire first potential product list (e.g., the entire record). Theproduct list calculation database 800 also stores other 820 costs 816that may be applied to the transaction (e.g., costs incurred for anumber of transactions instead of on a product-by-product basis). Thesum of the per product totals 818 and the other 820 costs 816 is storedas the total for the first potential product list 822.

The total costs 816 less the total subsidy payments 814 is stored as thebreak-even price for the first potential product list 826. With respectto the record shown in FIG. 8, the buyer must offer to pay $6.50 inorder for the controller 200 to break-even on the transaction. However,because the buyer actually offered to pay $9.00 (e.g., based on theoffer price 714 stored in the shopping list database 700), the netprofit or loss 828 for the transaction would be a $2.50 profit if thefirst potential product list shown in FIG. 8 is selected for the buyer.

Similar records may be stored, and similar calculation may be performed,for any number of potential product lists.

Product List Comparison Database

Referring to FIG. 9, a table represents one record of the product listcomparison database 900 that may be stored at the controller 200 shownin FIG. 1B according to an embodiment of the present invention. Therecord includes entries that may be used to determine which potentialproduct list should be selected in response to a buyer's shopping list.In particular, four potential product lists may be compared using therecord shown in FIG. 9. Note that the record shown in FIG. 9 isassociated with the shopping list illustrated in FIGS. 7 and 8.

The table defines fields 902, 904, 906, 908, 910 for each of theentries. The fields specify a shopping list 902, a first potentialproduct list 904, a second potential product list 906, a third potentialproduct list 908, and a fourth potential product list 910.

The shopping list 902 may include, for example, an alphanumeric codeassociated with each product category indicated in a buyer's shoppinglist. That is, the five codes illustrated in FIG. 9 are associated withfive product categories that comprise a buyer's shopping list. Theshopping list 902 may be based on, or associated with, the productcategory identifier 302 stored in the product category database and/orthe shopping list 716 stored in the shopping list database 700.

For the product categories in the shopping list, the product listcomparison database 900 stores potential product lists that may beselected by the controller. For example, the first potential productlist 904 shown in FIG. 9 is associated with the record of the productlist calculation database 800 shown in FIG. 8. That is, the firstpotential product list 904 may be based on, or associated with, thefirst potential products 804 in that record. Similarly, the totalsubsidy payments 914, the total costs 916, the break-even price 918, andthe net profit or loss 920 are based on information stored in theproduct list calculation database 800 as described in detail withrespect to FIG. 8.

Based on the information in the product list comparison database 900,the controller 200 may select one of the potential product lists to beindicated to the buyer. As shown by the record in FIG. 9, the controller200 may, for example, select the first potential product list 904, whichis associated with the highest net profit or loss 920 (i.e., $2.50), tobe indicated to the buyer.

Methods that may be used in connection with the transaction system 100according to an embodiment of the present invention will now bedescribed in detail with respect to FIGS. 10A through 10C.

Transaction System Methods

FIGS. 10A through 10C are a flow chart of a transaction method accordingto an embodiment of the present invention. The method shown in FIGS. 10Athrough 10C may be performed, for example, by a controller 200 inresponse to offer information received from a buyer device 20. This flowchart, as well as the other flow charts discussed herein, does not implya fixed order to the steps, and embodiments of the present invention maybe practiced in other orders.

Referring now to FIG. 10A, a payment identifier is received from thebuyer at 1002. For example, the controller 200 may receive a credit cardnumber from a buyer when he or she registers to use the transactionsystem 100.

At 1004, an indication of a first product category associated with afirst set of products is received from the buyer. At 1006, an indicationof a second product category associated with a second set of products isreceived from the buyer. According to one embodiment, the buyer mayselect the first and second product categories from a displayed list ofavailable product categories. According to another embodiment, the buyermay instead select a plurality of acceptable product brands to create aproduct category. According to another embodiment, a buyer may alsoindicate that he or she prefers a particular product brand (e.g., butwould also be willing to accept other product brands).

According to one embodiment, the buyer instead selects a predeterminedshopping list from a displayed list of available shopping lists (e.g.,by selecting a “two-person family shopping list”).

According to still another embodiment, the buyer indicates a shoppinglist while he or she shops in a retail store. For example, a buyer mayscan three different brands of breakfast cereal using a bar code scannerattached to his or her shopping cart. These three brands of cereal maythen comprise a product category in which the buyer may offer topurchase a product. The buyer may repeat this process to create and/ormodify a shopping list.

At 1008, a binding buyer offer is received from the buyer, including anindication of an offer amount associated with the first set of productsand the second set of products. For example, the buyer may submit asingle offer amount associated with both sets of products. According toanother embodiment, the buyer may instead submit two offer amounts(e.g., one offer amount for each set of products).

According to one embodiment, the buyer defines the offer amount (e.g.,by entering the offer amount via his or her PC). According to anotherembodiment, the buyer selects the offer amount from a list ofappropriate offer amounts (e.g., “offer $10.00 for an 80% chance ofacceptance” or “offer $5.00 for a 20% chance of acceptance”). Accordingto another embodiment, the transaction system may determine an offerprice, which can then be accepted or declined by the buyer.

Referring now to FIG. 10B, appropriate subsidies are determined at 1012.The appropriate subsidies may be determined, for example, based oninformation stored in the subsidy database 500 and/or informationreceived from a subsidy provider device 40.

A subsidy may be provided, for example, by a manufacturer of a product(e.g., the manufacturer may provide a subsidy of $2.00 for each box ofbrand diapers that a buyer purchases), the controller 200 (e.g., a partyassociated with the controller 200 may contribute money from a marketingbudget to gain buyers and market share), and/or a retail store (e.g., aretail store may provide a subsidy to encourage buyers to purchaseproducts at a particular location).

A subsidy may comprise, for example, payment of a subsidy amount,including payment of money, products, services, or other consideration.The payment may be provided to various parties, including the controller200 (e.g., a subsidy provider may provide $10,000 to the controller 200so that the controller 200 will select a product for 80% of all buyerswho purchase items in a particular product category), a buyer (e.g., aretail store may provide free home delivery to a buyer if he or shepurchases more than $50 worth of products through the controller 200).

A subsidy may also be associated with a subsidy rule, such as a rulethat describes when the subsidy should be provided. For example, asubsidy rule may indicate that a subsidy payment should be providedwhenever a particular product is selected from a product category (e.g.,a buyer indicates that he is willing to purchase any pasta sauce and aparticular brand is selected), a number of different products areselected for the buyer (e.g., a buyer indicates that he or she wouldlike to purchase any brand of tortilla chips and any brand of salsa anda particular brand of chips and salsa are selected), a buyer purchases aproduct (e.g., a buyer purchases a particular brand of soup when thecontroller 200 selects “either brand 1 or brand 2” to be purchased bythe buyer), a buyer indicates a particular product or product categoryin a shopping list (e.g., a buyer wants to buy either brand 1 or brand 2brand diapers), a buyer's shopping list has certain properties, aproduct naturally achieves a particular market share within a productcategory (e.g., 80% of all hot dogs sold through the controller 200 arefrom a particular manufacturer or 100% of all bars of soap sold throughthe controller are from a specific manufacturer), a buyer is told topurchase a product in a plurality of transactions (e.g., oatmeal of aparticular brand has been selected for a buyer in six differenttransactions), and/or it is determined that a buyer has a preference forparticular product (e.g., a buyer indicates in a survey that he or sheprefers one brand over another).

Note that subsidy payments may be provided before or after a subsidyrule is satisfied. For example, a subsidy provider may pay $5,000 to thecontroller 200 to subsidize future transactions. Another subsidyprovider may pay $5,234 to the controller 200 based on purchases thathave already been made by buyers over the last month.

According to one embodiment, there may be restrictions as to whichsubsidies are acceptable. For example, the controller 200 may prohibit afirst manufacturer from offering a subsidy of $10,000 for a market shareof 30% for a first product if a second manufacturer has already offereda subsidy of $12,000 for a market share of 80% on a competing product.That is, it would be impossible to accept both subsidies because thereis no way for the first product to have a market share of 30% if thecompeting product has a market share of 80% (i.e., 30%+80%=110%).

At 1014, a first product is selected for the first product category. At1016, a second product is selected from the second product category.Note that these selections may be performed in any number of ways. Forexample, the selection of the second product may be completelyindependent from the selection of the first product. On the other hand,consider the case where three possible products may be selected for eachproduct category. In this case, nine different potential product pairsmay be selected for the buyer. The controller 200 may compare each ofthe nine potential product pairs to determine, for example, which pairswill result in the buyer's offer being accepted and/or which pairs willresult in the largest profit.

Note that for a given shopping list, a large number of potential productlists may be possible. For example, if a buyer submits a shopping listthat includes ten product categories, with three products in eachproduct category, there may be 59,049 (i.e., 3¹⁰) different potentialproduct lists. For shopping lists that include more product categories,or product categories that include more products, there are even morepotential product lists.

Because so many potential product lists may be possible for a givenshopping list, the controller 200 may use a pre-selection process todetermine which potential product lists should be considered. Possiblepre-selection processes include eliminating potential products from aproduct category and dividing a shopping list into smaller lists (e.g.,and determining an optimal product list for each smaller list). Thecontroller 200 may also, for example, consider only those products orproduct categories where at least one subsidy is applicable.

According to one embodiment, the controller 200 selects a product listby determining a net profit or loss 920 for each potential product list(i.e., the amount of money that will be made or lost by selling thepotential product list for the offer price submitted by the buyer). Forexample, the controller 200 may consider a cost associated with eachproduct in the potential product list (e.g., when the controller 200purchases products from retail stores and sells the products to buyers),additional costs associated with the potential product list (e.g.,transaction costs, overhead costs, and taxes), available subsidies foreach product in the potential product list, subsidies that apply tomultiple products in the potential product list, subsidies that apply tothe entire product list, and/or subsidies that apply to the buyer.

Note that for particular types of subsidies (e.g., a market sharesubsidy), it may be helpful to calculate or estimate a subsidy paymentper product. For example, a specific manufacturer may offer a subsidypayment of $10,000 to obtain a market share of 70% for a particularbrand of shampoo for a duration of three months. In order to estimate asubsidy payment per product for the particular brand of shampoo, thecontroller 200 may estimate the number of shampoo purchases that will bemade during those three months. If, for example, the controller 200estimates that 20,000 bottles of shampoo will be purchased during thesethree months, the 70% represents 14,000 bottles of the particular brandof shampoo. In this case, the subsidy payment per product will be about$0.71 (i.e., $10,000 divided by 14,000). Similar calculations may benecessary for other types of subsidies.

One method of determining a net profit or loss 920 for several lists ofpotential products 904, 906, 908, 910 is described in detail withrespect to FIGS. 8 and 9. These figures also describe how a break-evenprice 918 may be determined. Note that for products that do not have anassociated subsidy, the break-even price per product 810 is equal to thecost per product 808. This means that if a buyer were to purchase eachof these products individually, and the controller 200 was not willingto accept a negative net profit or loss 828 for any of the products,then the buyer would have to submit offer prices equal to the break-evenprice per product 810. That is, the buyer would only be able receivediscounts on products for which subsidies were available, and thecontroller 200 would reject all of the buyer's offers to purchasenon-subsidized products at lower prices. According to some embodimentsof the present invention, however, subsidies may be applied to an entireproduct list, rather than the individual products in the product list.Moreover, an excess in the buyer's offer amount may be applied to otherproduct categories.

Consider the four potential product lists 904, 906, 908, 910 shown inFIG. 9, each having a different set of products. For each potentialproduct list, the product list comparison database 900 stores the totalsubsidy payments 914, the total costs 916, the break-even price 918, andthe net profit or loss 920 that would result from selling the potentialproduct list for the offer price. This information may then used toselect one potential product list for the buyer.

Other information may also be used to select products, includinghistorical information (e.g., one brand of diapers may be selected for abuyer who has purchased that brand of diapers in the past), randomfactors (e.g., when two potential product lists have the same net profitor loss 920), preferences for particular products (e.g., the controller200 may be aware that most buyers prefer a particular product), and/orpreferences for particular subsidies (e.g., the controller 200 may takeadvantage of a subsidy that will not be available in the near future).

Referring now to FIG. 10C, the buyer's offer is evaluated based on theoffer amount at 1018. The evaluation may also be based on, for example,a transaction history associated with a buyer, an address associatedwith the buyer, demographic information associated with the buyer,psychographic information associated with the buyer, a credit ratingassociated with the buyer, another offer associated with the buyer,and/or an indication of a plurality of merchants associated with thebuyer.

According to one embodiment, the evaluation comprises determiningwhether or not the buyer's offer will be accepted. According to anotherembodiment, the evaluation comprises calculating a probability that thebuyer's offer will be accepted. For example, the controller 200 maycalculate that a buyer's offer has an 80% chance of being accepted. Thecontroller 200 may then use a random process to determine if the offerwill actually be accepted.

According to one embodiment, the controller 200 evaluates the buyer'soffer by comparing the offer amount with minimum acceptable pricesassociated with the selected products. A minimum acceptable price may bebased on, for example, a wholesale or retail price associated with aproduct (e.g., adjusted by a predetermined amount or a predeterminedpercentage). For example, the controller 200 may accept a buyers offeronly when the offer amount is more than 90% of the sum of the retailprices associated with the selected products.

According to another embodiment, the controller 200 evaluates thebuyer's offer based on a subsidy. For example, the controller 200 maydetermine a subsidy based on the plurality of product categories in thebuyer's shopping list. The controller 200 may also select a subsidy froma plurality of potential subsidies (e.g., by selecting the subsidy thatresults in an acceptance of the buyer's offer).

The subsidy may also be based on, for example, information associatedwith a buyer (e.g., a history the buyer has with the transaction system100). According to other embodiments, the subsidy may be based on, forexample, a product identifier, a product category, a productmanufacturer, a product brand, a product description, a productquantity, a product class, at least one product feature, an accessoryassociated with the product, an age associated with the product, aproduct condition, a product preference, an offer period, a productcost, a product retail price, the offer amount, delivery information,and/or payment information.

According to one embodiment, the controller 200 may use information fromthe product list comparison database 900 to determine the acceptabilityof a selected product list. For example, the controller 200 may store atleast one value indicating a minimum acceptable profit for each productlist. If the net profit or loss 920 for a product list is greater thanthe minimum acceptable profit, then the buyer's offer may be accepted.Similarly, the controller 200 may store a maximum acceptable loss forproduct lists to determine the acceptability of a product list based onthe net profit or loss 920.

The controller 200 may determine that none of the potential productlists are acceptable based on the buyer's offer price. For example, abuyer may submit an offer price of $2 for a shopping list that includesmany expensive products or product categories. If it is determined thatthe buyer's offer will not be accepted at 1020, the process ends at1022. According to another embodiment, the controller 200 may insteadtransmit to the buyer a suggested modification to the buyer's offer. Forexample, the controller 200 may suggest that the buyer agree to amodified offer amount, a modified shopping list, and/or a modified listof acceptable products within a product category. According to anotherembodiment, the buyer may adjust the buyer's offer (e.g., based on asuggestion from the controller 200 or his or her own needs).

According to another embodiment, if it is determined that the buyer'soffer will not be accepted at 1020, a penalty is applied to the buyer.That may be done, for example, to prevent a buyer from submitting anumber of offers, each being associated with a slightly higher offeramount, in an attempt to determine the lowest possible offer amount thatwill be accepted by the transaction system 100. For example, the penaltymay comprise arranging for a buyer to provide payment of a penaltyamount (e.g., using his or her payment identifier), and/or preventing atleast one subsequent offer from the buyer (e.g., for one week).According to another embodiment, a fee may be charged to the buyerwhenever he or she submits an offer (i.e., regardless of whether or notthe offer is accepted). According to another embodiment, a buyer may paya fee each month in exchange for using the transaction system 100 (e.g.,by submitting a limited number of offers each month).

If it is determined that the buyer's offer will be accepted at 1020, itis arranged for the buyer to provide payment of an amount based on theoffer amount using his or her payment identifier at 1024. For example,buyer may provide payment to the controller 200 in exchange for theselected products. In this case, the controller 200 may in turn providea payment (e.g., of a lesser amount, of the same amount, or of a greateramount) to a merchant who provides the selected products to the buyer.

According to another embodiment, the controller 200 instead arranges forthe buyer to provide payment directly to the merchant. In this case, thecontroller may charge a fee to the buyer and/or the merchant (e.g., apredetermined fee or a fee based on a retail price, an offer amount, ora number of products involved in a transaction) in exchange forfacilitating the transaction.

At 1026, an indication of the first product and the second product isprovided to the buyer. For example, the controller 200 may send anelectronic mail message to the buyer indicating which products have beenselected. According to another embodiment, the controller 200 may simplyarrange for the selected products to be delivered to the buyer (e.g.,the products themselves indicating their selection).

At 1028, information is transmitted enabling the buyer to takepossession of the first product and the second product at a merchant.For example, the controller 200 may transmit a transaction code to thebuyer. The transaction code may be, for example, a verifiable “hash”value generated when transaction information is used with a hashfunction, such as a one-way hash function. A hash function is atransformation that takes input information and returns a hash value. Ingeneral, one can think of a hash value as a “digital fingerprint” of theinput information. For example, the input information to the hashfunction may be the buyer's name and address and information about theselected products (e.g., a list of selected product identifiers 402). Inthis case, the hash function would generate the transaction code basedon the input information. A merchant device 30 could then validate thetransaction code using another function. Applicable hash functions andother encryption techniques are described in Bruce Schneier, “AppliedCryptography: Protocols, Algorithms, and Source Code in C” (John Wiley &Sons, Inc., 2nd Ed. 1996).

According to another embodiment, the controller 200 transmitsinformation to a payment processing device 50 to enable the buyer totake possession of the selected products from a merchant. For example,each buyer may be given a pseudo-debit card (e.g., a magnetic stripecard having a sixteen digit number). The buyer may then request theproducts by swiping the pseudo-debit card number at a merchant's CATdevice. The sixteen digit number associated with the pseudo-credit cardnumber may cause the request to be routed to a payment processing device50 associated with the controller 200. In this way, the controller 200can arrange for an authorization to be provided in response to therequest (e.g., by establishing a pseudo-debit card account havingsufficient funds with the payment processing device 50).

According to another embodiment, the controller 200 instead arranges forthe selected products to be delivered to a buyer (e.g., via a deliveryservice). Thus, embodiments of the present invention enable a buyer toprovide a shopping list to a transaction system 100, without indicatingthe exact brands of products that will be purchased. The transactionsystem 100 may then select products for the buyer based on his or hershopping list.

Additional Embodiments

The following are several examples which illustrate various embodimentsof the present invention. These examples do not constitute a definitionof all possible embodiments, and those skilled in the art willunderstand that the present invention is applicable to many otherembodiments. Further, although the following examples are brieflydescribed for clarity, those skilled in the art will understand how tomake any changes, if necessary, to the above-described apparatus andmethods to accommodate these and other embodiments and applications.

In addition to suggesting a modified offer when a buyer's offer amountIs too low, the controller 200 may suggest a modified offer when abuyer's offer amount is too high. For example, if a buyer indicates ashopping list and offers to provide payment of an amount thatsignificantly more than the break-even price 918 associated with eventhe most expensive potential product list 904, 906, 908, 910 (e.g., by apredetermined amount or percentage), the controller 200 may suggestedthat the buyer reduce the offer amount and/or add additional productcategories to his or her shopping list.

According to another embodiment, the controller 200 may also suggestthat the buyer accept one or more third party subsidy offers when his orher offer is rejected. For example, the controller 200 may indicate thatthe buyer's offer would be accepted if he agrees to test drive a newautomobile. Other examples of third party subsidy offers are disclosedin U.S. patent application Ser. No. 09/282,747 entitled “Method andApparatus for Providing Cross-Benefits Based on a Customer Activity.”

According to another embodiment, the controller 200 may suggestmodifications to a list of acceptable product brands indicated by abuyer. For example, a buyer who indicates he or she would agree topurchase one brand of soda may be asked if another brand of soda wouldalso be an acceptable product. Similarly, the controller 200 may suggestthat a buyer add additional product categories to his or her shoppinglist. For example, a buyer who requests to purchase “hot dogs,” “hot dogbuns,” and “hamburgers” may be asked if “hamburger buns” should be addedto the shopping list.

According to still another embodiment, a product may actually comprise aplurality of products. For example, a product called “snack packagenumber one” may comprise a bag of one brand of potato chips, a six-packof a brand of soda, and a box of cookies from one brand. According toyet another embodiment, a product may comprise a plurality of productcategories. For example, a product called “snack package number two” maycomprise a bag of potato chips, a six-pack of cola, and a box of cookies(i.e., without specifying one or more brands).

According to still another embodiment, the controller 200 may indicateto a buyer that he or she may purchase any product in a productcategory. The controller 200 may, for example, subsequently determinewhich product the buyer actually purchased in order to assess thepopularity of various products.

According to another embodiment, the controller 200 may accept a buyer'soffer with respect to some product categories and reject the buyer'soffer with respect to other product categories. In this case, thecontroller 200 may only select and indicate products for the acceptedproduct categories. For example, a buyer may offer to pay $10.00 for onelunch entrée and one desert item from any of a number of localrestaurants. In this case, the controller 200 may indicate that althoughall of the products requested by the buyer (i.e., the lunch entrée andthe desert item) cannot be provided in exchange for $10.00, the buyermay purchase an all-you can eat shrimp lunch entrée at a particularrestaurant. According to one embodiment, the buyer may be obligated toaccept this selection. According to another embodiment, the buyer isallowed to decline the selection. Note that the controller 300 may alsoaccept a buyer's offer with respect to a subset of product categorieswhen the buyer provides offer prices associated with each of the productcategories (e.g., $8.00 for a lunch entrée and $2.00 for a desert item).

According to another embodiment, the controller 200 may provide severalpotential product lists to a buyer. The customer may then be allowed toselect one of the potential product lists.

Moreover, although embodiments of the present invention have beendescribed such that the controller 200, the merchant device 30, and thesubsidy provider device 40 are associated with separate parties, notethat according to other embodiments, the controller 200 may beassociated with the merchant and/or the subsidy provider.

The present invention has been described in terms of several embodimentssolely for the purpose of illustration. Persons skilled in the art willrecognize from this description that the invention is not limited to theembodiments described, but may be practiced with modifications andalterations limited only by the spirit and scope of the appended claims.

1.-20. (canceled)
 21. A method comprising: receiving, by one or morecomputing systems from a client system of a buyer, a selection of afirst product of a plurality of products associated with a merchant toadd to a transaction list, wherein the first product is associated witha first product category; accessing, by the one or more computingsystems in response to the selection, a transaction history of thebuyer; determining, by the one or more computing systems, a suggestionto add a second product of a second product category to the transactionlist based on the transaction history of the buyer, wherein the secondproduct category is associated with a previous product the buyer haspurchased; and providing, by the one or more computing systems to theclient system, instructions to display the suggestion to add the secondproduct to the transaction list.
 22. The method of claim 21, furthercomprising: receiving, from the client system, an indication to add thesecond product to the transaction list; receiving, by the one or morecomputing systems, from a computing device of a merchant associated withthe second product, a transaction code associated with the secondproduct; and providing, by the one or more computing systems, anindication of the second product and the transaction code to the clientsystem.
 23. The method of claim 21, wherein the computing device isassociated with the one or more computing systems.
 24. The method ofclaim 21, further comprising: determining, for each product associatedwith the first product category or each product associated with thesecond product category, one or more subsidies applicable to theproduct.
 25. The method of claim 24, wherein each of the one or moresubsidies reduces an offer price for the transaction list by a subsidyamount according to a subsidy rule.
 26. The method of claim 21, furthercomprising: determining, by the one or more computing systems, an offerprice associated with the transaction list.
 27. The method of claim 21,further comprising transmitting, by the one or more computing systems tothe client system, information enabling the buyer to take possession ofthe products in the transaction list.
 28. A system comprising: one ormore processors; and a memory coupled to the processors and comprisinginstructions executable by the processors, the processors being operablewhen executing the instructions to: receive, from a client system of abuyer, a selection of a first product of a plurality of productsassociated with a merchant to add to a transaction list, wherein thefirst product is associated with a first product category; access, inresponse to the selection, a transaction history of the buyer; determinea suggestion to add a second product of a second product category to thetransaction list based on the transaction history of the buyer, whereinthe second product category is associated with a previous product thebuyer has purchased; and provide, to the client system, instructions todisplay the suggestion to add the second product to the transactionlist.
 29. The system of claim 28, wherein the processors are furtheroperable when executing the instructions to: receive, from the clientsystem, an indication to add the second product to the transaction list;receive, from a computing device of a merchant associated with thesecond product, a transaction code associated with the second product;and provide an indication of the second product and the transaction codeto the client system.
 30. The system of claim 28, wherein the computingdevice is associated with the system.
 31. The system of claim 28,wherein the processors are further operable when executing theinstructions to: determine, for each product associated with the firstproduct category or each product associated with the second productcategory, one or more subsidies applicable to the product.
 32. Thesystem of claim 31, wherein each of the one or more subsidies reduces anoffer price for the transaction list by a subsidy amount according to asubsidy rule.
 33. The system of claim 28, wherein the processors arefurther operable when executing the instructions to: determine an offerprice associated with the transaction list.
 34. The system of claim 28,wherein the processors are further operable when executing theinstructions to: transmit, to the client system, information enablingthe buyer to take possession of the products in the transaction list.35. One or more computer-readable non-transitory storage media embodyingsoftware that is operable when executed to: receive, from a clientsystem of a buyer, a selection of a first product of a plurality ofproducts associated with a merchant to add to a transaction list,wherein the first product is associated with a first product category;access, in response to the selection, a transaction history of thebuyer; determine a suggestion to add a second product of a secondproduct category to the transaction list based on the transactionhistory of the buyer, wherein the second product category is associatedwith a previous product the buyer has purchased; and provide, to theclient system, instructions to display the suggestion to add the secondproduct to the transaction list.
 36. The media of claim 35, wherein thesoftware is further operable when executed to: receive, from the clientsystem, an indication to add the second product to the transaction list;receive, from a computing device of a merchant associated with thesecond product, a transaction code associated with the second product;and provide an indication of the second product and the transaction codeto the client system.
 37. The media of claim 35, wherein the software isfurther operable when executed to: determine, for each productassociated with the first product category or each product associatedwith the second product category, one or more subsidies applicable tothe product.
 38. The media of claim 37, wherein each of the one or moresubsidies reduces an offer price for the transaction list by a subsidyamount according to a subsidy rule.
 39. The media of claim 35, whereinthe software is further operable when executed to: determine an offerprice associated with the transaction list.
 40. The media of claim 35,wherein the software is further operable when executed to: transmit, tothe client system, information enabling the buyer to take possession ofthe products in the transaction list.